We now investigate whether interleaving equivalences are preserved by safe refinements. We start by considering the simplest notion, the usual interleaving trace equivalence where the possible sequences of actions are compared.
w = a1...an∈
is a (sequential) trace of
∈ IE iff
∃X0,..., Xn∈() : X0 = ∅ and Xi-1ai→Xi , i = 1,..., n. SeqTraces() denotes the set of all sequential traces of .
,∈ IE are called interleaving trace equivalent
(
) iff
|
The following example shows that this equivalence is not preserved by safe refinements.
Consider the event structures and below, corresponding to a(b| c)
and abc + acb.
, since the only traces for both event structures are abc and acb (and the prefixes). Action b is not critical. We refine b by b1b2.
We have
() it (), since
ab1c∈SeqTraces(()),
|
One can now ask if it is possible to strengthen the requirement of safe refinements, say into trace-safe refinements, by requiring more actions to be atomic, in such a way that interleaving trace equivalence is preserved under trace-safe refinements. Requiring all actions that can occur concurrently with another action to be atomic would work, but this constraint is very restrictive. It seems not easy to find a less restrictive one.